﻿#region Using

using System;
using Vk.Methods.Common;

#endregion

namespace Vk.Methods.Docs
{
    /// <summary>
    ///     Документ
    /// </summary>
    public class Document : BaseEntity
    {
        public string AccessKey { get; set; }

        /// <summary>
        ///     Расширение документа
        /// </summary>
        public string Extension { get; set; }

        /// <summary>
        ///     Адрес изображения с размером 100x75px (если файл графический)
        /// </summary>
        public string Photo100 { get; set; }

        /// <summary>
        ///     Адрес изображения с размером 130x100px (если файл графический)
        /// </summary>
        public string Photo130 { get; set; }

        /// <summary>
        ///     Размер в байтах
        /// </summary>
        public int? Size { get; set; }

        /// <summary>
        ///     Название документа
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        ///     Ссылка для загрузки
        /// </summary>
        public string Url { get; set; }

        public Document(ApiNode node)
        {
            Id = node.Int("id");
            OwnerId = node.Int("owner_id");
            Title = node.String("title");
            Size = node.Int("size");
            Extension = node.String("ext");
            Url = node.String("url");
            Photo100 = node.String("photo_100");
            Photo130 = node.String("photo_130");
            Date = node.DateTime("date");
            AccessKey = node.String("access_key");
            Type = node.Enum<DocumentType>("type");
        }

        /// <summary>
        /// Тип документа
        /// </summary>
        public DocumentType? Type { get; set; }

        /// <summary>
        /// Дата добавления. 
        /// </summary>
        public DateTime? Date { get; set; }
    }
}